package org.ruoyi.common.dhuman.utils.v1.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;

import java.io.Serializable;

@Data
public class TTSExpressionVo implements Serializable {
	/**
	 * 发音人
	 */
	@JsonProperty(value = "voice_name")
	@NotEmpty
	String voice_name;

	/**
	 * 是否返回时间戳，默认0 （0：否；1：是）
	 */
	@JsonProperty(value = "with_caption")
	Integer with_caption;

	/**
	 * 返回时间戳格式：tl 普通时间戳格式 tlx因素级时间戳格式
	 */
	@JsonProperty(value = "caption_type")
	String caption_type;

	/**
	 * 默认MP3，可选:MP3/WAV
	 */
	String format;

	/**
	 * 音频采样率，默认44100，可选:8000/16000/24000/44100
	 */
	@JsonProperty(value = "sample_rate")
	Integer sample_rate;

	/**
	 * 速度，默认1.0，可选区间:0.0-2.0
	 */
	Float speed;

	/**
	 * 音调，默认1.0，可选区间:0.0-2.0
	 */
	Float pitch;
}
